import {MenuTypeEnum, MenuObjPropNameEnum} from "@menu"

/**
 * 菜单类型为目录时，显示的表单项
 */
export const DirFormItemShowed = {
  [MenuObjPropNameEnum.PARENT_ID]: true,
  [MenuObjPropNameEnum.TYPE]: true,
  [MenuObjPropNameEnum.NAME]: true,
  [MenuObjPropNameEnum.PAGE_PATH]: false,
  [MenuObjPropNameEnum.ROUTE_NAME]: true,
  [MenuObjPropNameEnum.ROUTE_PATH]: true,
  [MenuObjPropNameEnum.ROUTE_QUERY]: false,
  [MenuObjPropNameEnum.LINK_PATH]: false,
  [MenuObjPropNameEnum.SORT]: true,
  [MenuObjPropNameEnum.ICON_TYPE]: true,
  [MenuObjPropNameEnum.ICON]: true,
  [MenuObjPropNameEnum.DISABLED]: true,
  [MenuObjPropNameEnum.HIDDEN]: true,
  [MenuObjPropNameEnum.CACHED]: true,
  [MenuObjPropNameEnum.LABELED]: false,
  [MenuObjPropNameEnum.LABEL_SORT]: false
}

/**
 * 菜单类型为菜单时，显示的表单项
 */
export const MenuFormItemShowed = {
  [MenuObjPropNameEnum.PARENT_ID]: true,
  [MenuObjPropNameEnum.TYPE]: true,
  [MenuObjPropNameEnum.NAME]: true,
  [MenuObjPropNameEnum.PAGE_PATH]: true,
  [MenuObjPropNameEnum.ROUTE_NAME]: true,
  [MenuObjPropNameEnum.ROUTE_PATH]: true,
  [MenuObjPropNameEnum.ROUTE_QUERY]: true,
  [MenuObjPropNameEnum.LINK_PATH]: false,
  [MenuObjPropNameEnum.SORT]: true,
  [MenuObjPropNameEnum.ICON_TYPE]: true,
  [MenuObjPropNameEnum.ICON]: true,
  [MenuObjPropNameEnum.DISABLED]: true,
  [MenuObjPropNameEnum.HIDDEN]: true,
  [MenuObjPropNameEnum.CACHED]: true,
  [MenuObjPropNameEnum.LABELED]: true,
  [MenuObjPropNameEnum.LABEL_SORT]: true
}

/**
 * 菜单类型为 iframe 时，显示的表单项
 */
export const IframeFormItemShowed = {
  [MenuObjPropNameEnum.PARENT_ID]: true,
  [MenuObjPropNameEnum.TYPE]: true,
  [MenuObjPropNameEnum.NAME]: true,
  [MenuObjPropNameEnum.PAGE_PATH]: false,
  [MenuObjPropNameEnum.ROUTE_NAME]: false,
  [MenuObjPropNameEnum.ROUTE_PATH]: false,
  [MenuObjPropNameEnum.ROUTE_QUERY]: false,
  [MenuObjPropNameEnum.LINK_PATH]: true,
  [MenuObjPropNameEnum.SORT]: true,
  [MenuObjPropNameEnum.ICON_TYPE]: true,
  [MenuObjPropNameEnum.ICON]: true,
  [MenuObjPropNameEnum.DISABLED]: true,
  [MenuObjPropNameEnum.HIDDEN]: true,
  [MenuObjPropNameEnum.CACHED]: true,
  [MenuObjPropNameEnum.LABELED]: true,
  [MenuObjPropNameEnum.LABEL_SORT]: true
}

/**
 * 菜单类型为外链时，显示的表单项
 */
export const LinkFormItemShowed = {
  [MenuObjPropNameEnum.PARENT_ID]: true,
  [MenuObjPropNameEnum.TYPE]: true,
  [MenuObjPropNameEnum.NAME]: true,
  [MenuObjPropNameEnum.PAGE_PATH]: false,
  [MenuObjPropNameEnum.ROUTE_NAME]: false,
  [MenuObjPropNameEnum.ROUTE_PATH]: false,
  [MenuObjPropNameEnum.ROUTE_QUERY]: false,
  [MenuObjPropNameEnum.LINK_PATH]: true,
  [MenuObjPropNameEnum.SORT]: true,
  [MenuObjPropNameEnum.ICON_TYPE]: true,
  [MenuObjPropNameEnum.ICON]: true,
  [MenuObjPropNameEnum.DISABLED]: true,
  [MenuObjPropNameEnum.HIDDEN]: true,
  [MenuObjPropNameEnum.CACHED]: false,
  [MenuObjPropNameEnum.LABELED]: false,
  [MenuObjPropNameEnum.LABEL_SORT]: false
}

/**
 * 菜单类型与相应菜单类型显示的表单项之间的映射关系
 */
export const FormItemShowedMap = {
  [MenuTypeEnum.DIR]: DirFormItemShowed,
  [MenuTypeEnum.MENU]: MenuFormItemShowed,
  [MenuTypeEnum.IFRAME]: IframeFormItemShowed,
  [MenuTypeEnum.LINK]: LinkFormItemShowed
}
